Design Pattern : La flexibilité du code grâce au Pattern Strategy
Comment rendre votre code plus modulaire et maintenable en sortant de l'enfer des conditions multiples.
Dans le développement logiciel, comme dans l'écriture, il y a mille façons de raconter la même histoire. Mettons-nous dans la peau d'un écrivain et imaginons que l'on dispose d'une série de faits bruts sur la vie d'un personnage historique, disons Molière : ses dates, ses pièces, ses scandales.
Notre mission est la suivante : écrire et publier son histoire. Pour commencer, on nous demande d'écrire un Roman épique, donc on écrit notre classe StoryTeller et sa méthode tellStory qui va raconter l'histoire dans ce genre. Puis, après un énorme succès, on nous demande de l'adapter en Bande Dessinée pour les plus jeunes, puis en une Biographie austère pour les universitaires, etc.
Si nous n'y prenons pas garde, notre classe StoryTeller va rapidement devenir une accumulation massive de if (genre == ROMAN) ... else if (genre == BD). Chaque nouveau format, chaque modification risque de casser la logique des autres. Le texte devient un torchon, difficile à relire et impossible à corriger.



